
/**
 * 页面初始化
 * @param pageObj
 * @param initOptions
 * @returns {{onLoad}|*}
 */
export const pageInit = (pageObj, initOptions={}) => {
    initOptions = initOptions||{}
    const app = initOptions.app || getApp()

    // 重写页面的onLoad方法
    if (pageObj.onLoad) {
        let _onLoad = pageObj.onLoad
        // 使用onLoad的话需要传递options
        pageObj.onLoad = function (options) {
            options = options||{}
            console.log("拦截器-options", options)

            // 小程序码的参数
            const scene = decodeURIComponent(options.scene) // 扫描小程序码的参数
            // 将小程序码参数解析为对象格式
            const sceneObj = {}
            for (let i = 0; i < scene.split('*').length;i++){
                const arr = scene.split('*')[i].split('/');
                sceneObj[arr[0]] = arr[1];
            }

            const shareUid = options.share_uid || sceneObj.share_uid || 0

            if (shareUid){ // 只有当有新的分享用户时，修改share_uid
                // 通过用户的分享链接打开小程序，记录分享id
                app.globalData.share_uid = shareUid
            }

            // 获取当前页面
            let currentInstance = getPageInstance()
            _onLoad.call(currentInstance, options)
        }
    }
    return pageObj
}

// 获取当前页面
function getPageInstance() {
    const pages = getCurrentPages()
    return pages[pages.length - 1]
}
